package es.ugr.beequizz.dao.impl;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;

import es.ugr.beequizz.dao.AsignaturaDAO;
import es.ugr.beequizz.dao.GenericDAO;
import es.ugr.beequizz.model.Asignatura;

@Repository
public class AsignaturaDAOImpl extends GenericDAO implements AsignaturaDAO{

	private static final String BUSCAR_ASIGNATURA_SQL = "SELECT * FROM asignatura "; 
	
	private static final String RECUPERAR_NOMBRE_ASIGNATURA_SQL = "SELECT nombre FROM asignatura WHERE id = :id"; 

	
	private class AsignaturaRowMapper implements RowMapper<Asignatura> {

		public Asignatura mapRow(ResultSet result, int arg1) throws SQLException {
			Asignatura asignatura = new Asignatura();
			asignatura.setId(result.getLong("id"));
			asignatura.setNombre(result.getString("nombre"));
			
			return asignatura;
		}
		
		
		
	}
	
	
	public List<Asignatura> buscarAsignaturas() {
		
		return template.query(BUSCAR_ASIGNATURA_SQL, new AsignaturaRowMapper());
		
	}


	public String getNombre(Long idAsignatura) {
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("id", idAsignatura);
		return namedTemplate.queryForObject(RECUPERAR_NOMBRE_ASIGNATURA_SQL, params, String.class);
	}
	
	
	
}
